1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | Для того, чтобы определить сколько раз встречается в нужной строке искомый текст, который может быть как отдельным символом, так и набором символов, можно использовать любую из двух нижеприведенных функций. Причём, при подсчёте Вы можете также задать и способ сравнения, так, например, в первом примере демонстрирующем вызов функции, регистр символов учитывается, а во втором примере, соответственно, не учитывается. Private Function CountRepeat&(Text$, Search$, _ Optional Register As Boolean = True ) ' MS Excel 95 , 97 , 2000 , XP, ... If Register = True Then CountRepeat& = Len(Text$) - _ Len(Application . Substitute(Text$, Search$, "")) Else CountRepeat& = Len(Text$) - _ Len(Application . Substitute(LCase(Text$), LCase(Search$), "")) End If End Function Private Sub Test() iResult1 = _ CountRepeat("ТЕКСТ, содержащий различные СИМВОЛЫ", "о") iResult2 = _ CountRepeat("ТЕКСТ, содержащий различные СИМВОЛЫ", "о", False ) End Sub Private Function CountRepeat&(Text$, Search$, _ Optional CompareMethod& = vbBinaryCompare) ' MS Excel 2000 , XP, ... CountRepeat& = Len(Text$) - _ Len(Replace(Text$, Search$, "", , , CompareMethod&)) End Function Private Sub Test() iResult1 = _ CountRepeat("ТЕКСТ, содержащий различные СИМВОЛЫ", "о") iResult2 = _ CountRepeat("ТЕКСТ, содержащий различные СИМВОЛЫ", "о", vbTextCompare) End Sub |